HightouchのCustomer StudioのSchema機能ではColumnsの「Refresh interval」の設定に気をつけましょう
さがらです。
HightouchのCustomer Studioを使う場合、Schema機能で各Modelに含まれるカラムの一覧を確認できますが、このカラム一覧の画面の「Refresh interval」の設定で注意しないといけない気づきがあったので、本記事で内容をまとめます。
背景
私がこのブログでCustomer Studioを試した後、Snowflake上でHightouch用のウェアハウスが毎週金曜日に50分近く動いていることがわかりました。(XSのシングルクラスタのウェアハウスで0.8クレジット消費しているため)
そこで該当日のウェアハウスのクエリ履歴を見ると、50分ほどかけてクエリが数十個ほど実行されていることに気づきました。
HightouchのSyncはすべてマニュアル実行にしているため、「なぜこんなにたくさんのクエリが投げられているんだ…?」と疑問に感じた私はHightouch社のサポートに問い合わせをしました。
判明したこと
Hightouch社に調査を頂いたところ、Customer StudioのSchema機能で、Columnsタブの「Refresh interval」の設定に応じて、Modelに登録されている全カラム分クエリが定期的に実行されるとのことでした。
私はこの設定をデフォルトから変えずWeekly
にしていたため、全カラム分のクエリが毎週金曜日に実行されていたということになります。
この仕様については、Hightouch社の下記ドキュメントのColumn configuration
の項目にも書かれています。
Refresh intervalって何の役に立っているの?
ここで「Refresh intervalって何の役に立っているの?」と疑問に感じると思います。
このRefresh intervalですが、設定した間隔で各カラムごとにどの値がどれだけのレコード数があるのかを確認し、Customer StudioのAudiencesで、Filterを設定する際の候補値の一覧を見せるときに役立っています。
つまり、このFilter設定時の候補値を自動で更新するためには、Refresh intervalの設定が必要ということになります。
「定期的に自動でたくさんのクエリが実行されるの辛いんだけど…」という方へ
ただし、これまで述べたようにRefresh intervalを設定しているとカラムの数だけクエリが定期的に実行されてしまうため、Snowflakeのような従量課金型のウェアハウスの場合にはどうしても費用がかかってきます。
そこで、対策を2つ述べます。
対策1つ目:Columnsタブで対象カラムの候補値表示を無効化する
まず、Audienceでセグメントを作成する際、正直Filterに使用するカラムが限られてくるケースは多いと思います。
そこで対策1つ目として、Filterとしての使用頻度が低いカラムは、Columnsタブの一番右のSuggestions will cache common column values for Audience builder.
を無効化することで、Filterの候補値が表示されなくなり、候補値を取得するクエリが実行されなくなります。
具体的には、この設定を無効化すると下図のように候補値がなにも表示されなくなります。
対策2つ目:Refresh intervalをManual Onlyにする
しかし、対策1つ目を行うと、Filter設定時の候補値が何も表示されなくなってしまう問題があります。対象カラムのFilterとしての使用頻度が低いとしても、何もFilterの候補値が表示されなくなるといざというときに不便ですよね。
そこで対策2つ目として、Refresh intervalをManual Only
にすることで、Filterの候補値取得のクエリが定期実行されなくなり、自分の好きなときにFilterの候補値の更新ができるようになります。
手動更新の方法ですが、Refresh all suggestions
を押す必要があります。2023年9月28日時点ではこのボタンを押すしか手動更新の方法がないため、この点だけ注意しましょう!
最後に
簡単ではありますが、HightouchのCustomer Studioを使う際の「Refresh interval」の設定に関する注意点をまとめてみました。
この設定値のことを何も知らないと急にたくさんのクエリが実行されてびっくりすると思います、これからHightouchのCustomer Studioを使う方はどうかご注意ください…